package com.itheima;

import java.util.Scanner;

public class ExceptionDemo2 {
    public static void main(String[] args) {

        /*
        需求：
        键盘录入自己心仪的女朋友姓名和年龄。
        姓名的长度在3~10之间，
        年龄的范围为18-40岁，
        超出这个范围是异常数据不能赋值，需要重新录入，一直录到正确为止。
        提示：
        需要考虑用户在键盘录入时的所有情况。
        比如：录入年龄时超出范围，录入年龄时录入了abc等情况
        */

        //1.键盘录入
        Scanner sc = new Scanner(System.in);

        //2.创建女朋友对象
        Girlfriend gf = new Girlfriend();

        //3.录入姓名
        while (true) {
            try {
                System.out.println("请输入女朋友姓名：");
                String name = sc.nextLine();
                gf.setName(name);

                //4.录入年龄
                System.out.println("请输入女朋友年龄：");
                String age = sc.nextLine();
                int age2 = Integer.parseInt(age);
                gf.setAge(age2);
                //所有数据都正确，跳出循环
                break;
            } catch (NumberFormatException e) {
                e.printStackTrace();
            } catch (NameFormatException e) {
                e.printStackTrace();
            } catch (AgeOutOfBoundsException e) {
                e.printStackTrace();
            }
        }

        //5.输出
        System.out.println(gf.getName()+","+gf.getAge());

    }
}
